package com.bjbn.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 廊桥_电源信息_历史模型
 */
@Data
@TableName("bridge_power_info_history")
@Schema(description = "廊桥电源信息历史实体")
public class BridgePowerInfoHistory {
    
    /**
     * 主键
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @Schema(description = "主键ID", example = "uuid-string")
    private String id;

    /**
     * 设备显示名
     */
    @TableField("DEVICE_NAME")
    @Schema(description = "设备显示名", example = "廊桥电源001")
    private String deviceName;

    /**
     * 厂家
     */
    @TableField("BRAND")
    @Schema(description = "厂家", example = "厂家A")
    private String brand;

    /**
     * 机位
     */
    @TableField("STAND")
    @Schema(description = "机位", example = "A01")
    private String stand;

    /**
     * 设备组
     */
    @TableField("DEVICE_GROUP")
    @Schema(description = "设备组", example = "电源组")
    private String deviceGroup;

    /**
     * 区域
     */
    @TableField("AREA")
    @Schema(description = "区域", example = "T1航站楼")
    private String area;

    /**
     * 责任部门
     */
    @TableField("DEPT")
    @Schema(description = "责任部门", example = "运维部")
    private String dept;

    /**
     * IP地址
     */
    @TableField("IP")
    @Schema(description = "IP地址", example = "192.168.1.100")
    private String ip;

    /**
     * 端口
     */
    @TableField("DEVICE_PORT")
    @Schema(description = "端口", example = "8080")
    private String devicePort;

    /**
     * 信息系统ID
     */
    @TableField("FMIS_ID")
    @Schema(description = "信息系统ID", example = "FMIS001")
    private String fmisId;

    /**
     * 备注
     */
    @TableField("REMARKS")
    @Schema(description = "备注", example = "电源设备备注")
    private String remarks;

    /**
     * 设备状态
     */
    @TableField("STA")
    @Schema(description = "设备状态", example = "1", allowableValues = {"0", "1", "10", "20"})
    private String sta;

    /**
     * 采集器状态
     */
    @TableField("C_STA")
    @Schema(description = "采集器状态", example = "0", allowableValues = {"0", "1", "2", "3"})
    private String cSta;

    /**
     * 维修保养状态
     */
    @TableField("M_STA")
    @Schema(description = "维修保养状态", example = "0", allowableValues = {"0", "1", "2"})
    private String mSta;

    /**
     * 故障状态标记
     */
    @TableField("E_FLAG")
    @Schema(description = "故障状态标记", example = "0", allowableValues = {"0", "1", "2"})
    private String eFlag;

    /**
     * 业务更新时间
     */
    @TableField("U_TIME")
    @Schema(description = "业务更新时间", example = "2024-01-01T10:00:00")
    private LocalDateTime uTime;

    /**
     * 服务器写入时间
     */
    @TableField("W_TIME")
    @Schema(description = "服务器写入时间", example = "2024-01-01T10:00:00")
    private LocalDateTime wTime;

    /**
     * 设备状态改变时间
     */
    @TableField("STA_TIME")
    @Schema(description = "设备状态改变时间", example = "2024-01-01T10:00:00")
    private LocalDateTime staTime;

    /**
     * 采集器状态改变时间
     */
    @TableField("C_STA_TIME")
    @Schema(description = "采集器状态改变时间", example = "2024-01-01T10:00:00")
    private LocalDateTime cStaTime;

    /**
     * 报停状态
     */
    @TableField("S_STA")
    @Schema(description = "报停状态", example = "0", allowableValues = {"0", "1"})
    private String sSta;

    /**
     * 报停时间
     */
    @TableField("STOP_TIME")
    @Schema(description = "报停时间", example = "2024-01-01T10:00:00")
    private LocalDateTime stopTime;

    /**
     * 开始电量
     */
    @TableField("START_POWER")
    @Schema(description = "开始电量", example = "100")
    private String startPower;

    /**
     * 输入频率
     */
    @TableField("FREQ_I")
    @Schema(description = "输入频率", example = "50.0")
    private String freqI;

    /**
     * 输出频率
     */
    @TableField("FREQ_O")
    @Schema(description = "输出频率", example = "50.0")
    private String freqO;

    /**
     * 直流母线电压
     */
    @TableField("VDC_M")
    @Schema(description = "直流母线电压", example = "380.0")
    private String vdcM;

    /**
     * 平均相电压
     */
    @TableField("V_O")
    @Schema(description = "平均相电压", example = "220.0")
    private String vO;

    /**
     * 平均线电压
     */
    @TableField("V_AV_L")
    @Schema(description = "平均线电压", example = "380.0")
    private String vAvL;

    /**
     * 有功功率总和
     */
    @TableField("P_ALL")
    @Schema(description = "有功功率总和", example = "1000.0")
    private String pAll;

    /**
     * 视在功率总和
     */
    @TableField("S_ALL")
    @Schema(description = "视在功率总和", example = "1200.0")
    private String sAll;

    /**
     * 内部模块温度1
     */
    @TableField("T_M_1")
    @Schema(description = "内部模块温度1", example = "45.0")
    private String tM1;

    /**
     * 内部模块温度2
     */
    @TableField("T_M_2")
    @Schema(description = "内部模块温度2", example = "42.0")
    private String tM2;

    /**
     * 运行总时
     */
    @TableField("RUN_H")
    @Schema(description = "运行总时", example = "1000")
    private String runH;

    /**
     * 运行总分
     */
    @TableField("RUN_MI")
    @Schema(description = "运行总分", example = "30")
    private String runMi;

    /**
     * 运行总秒
     */
    @TableField("RUN_S")
    @Schema(description = "运行总秒", example = "45")
    private String runS;

    /**
     * 总提供功率Mwh
     */
    @TableField("P_MW")
    @Schema(description = "总提供功率Mwh", example = "1.5")
    private String pMw;

    /**
     * 总提供功率Kwh
     */
    @TableField("P_KW")
    @Schema(description = "总提供功率Kwh", example = "1500.0")
    private String pKw;

    /**
     * 总提供功率wh
     */
    @TableField("P_W")
    @Schema(description = "总提供功率wh", example = "1500000.0")
    private String pW;

    /**
     * 平均电压
     */
    @TableField("V_AV")
    @Schema(description = "平均电压", example = "220.0")
    private String vAv;

    /**
     * 平均电流
     */
    @TableField("I_AV")
    @Schema(description = "平均电流", example = "10.0")
    private String iAv;

    /**
     * 总有功功率
     */
    @TableField("P_TOTAL")
    @Schema(description = "总有功功率", example = "1000.0")
    private String pTotal;

    /**
     * 故障编码
     */
    @TableField("ERR_CODE")
    @Schema(description = "故障编码", example = "E001")
    private String errCode;

    /**
     * 发送计时
     */
    @TableField("SEND_TIMER")
    @Schema(description = "发送计时", example = "1000")
    private String sendTimer;

    /**
     * 采集器状态记录id
     */
    @TableField("C_STA_HIS_ID")
    @Schema(description = "采集器状态记录id", example = "uuid-string")
    private String cStaHisId;

    /**
     * 状态记录id
     */
    @TableField("STA_HIS_ID")
    @Schema(description = "状态记录id", example = "uuid-string")
    private String staHisId;

    /**
     * 报警历史记录id
     */
    @TableField("ALERT_HIS_ID")
    @Schema(description = "报警历史记录id", example = "uuid-string")
    private String alertHisId;

    /**
     * 报警时间
     */
    @TableField("ALERT_TIME")
    @Schema(description = "报警时间", example = "2024-01-01T10:00:00")
    private LocalDateTime alertTime;

    /**
     * 确认标志
     */
    @TableField("ENSURE_FLAG")
    @Schema(description = "确认标志", example = "0", allowableValues = {"-1", "0", "1", "2"})
    private String ensureFlag;

    /**
     * 确认时间
     */
    @TableField("ENSURE_TIME")
    @Schema(description = "确认时间", example = "2024-01-01T10:00:00")
    private LocalDateTime ensureTime;

    /**
     * 创建时间
     */
    @TableField(value = "BN_CREATE_TIME", fill = FieldFill.INSERT)
    @Schema(description = "创建时间", example = "2024-01-01T10:00:00")
    private LocalDateTime bnCreateTime;
}
